package model

import (
	"gorm.io/gorm"
	"time"
)

type Episodes struct {
	Id           int            `gorm:"column:id;type:bigint UNSIGNED;primaryKey;not null;" json:"id"`
	CreatedAt    time.Time      `gorm:"column:created_at;type:datetime(3);default:NULL;" json:"created_at"`
	UpdatedAt    time.Time      `gorm:"column:updated_at;type:datetime(3);default:NULL;" json:"updated_at"`
	DeletedAt    gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
	VideoId      int            `gorm:"column:video_id;type:bigint;comment:''''视频id'''';not null;" json:"video_id"`                      // ''''视频id''''
	IsVip        int            `gorm:"column:is_vip;type:bigint;comment:''''VIP: 1-普通 2-vip'''';default:1;" json:"is_vip"`              // ''''VIP: 1-普通 2-vip''''
	Title        string         `gorm:"column:title;type:varchar(20);comment:''''标题'''';not null;" json:"title"`                         // ''''标题''''
	Describe     string         `gorm:"column:describe;type:varchar(300);comment:''''描述'''';not null;" json:"describe"`                  // ''''描述''''
	VideoUrl     string         `gorm:"column:video_url;type:varchar(300);comment:''''视频封面'''';not null;" json:"video_url"`              // ''''视频封面''''
	Episode      int            `gorm:"column:episode;type:bigint;comment:''''剧集'''';not null;default:0;" json:"episode"`                // ''''剧集''''
	EpisodeCount int            `gorm:"column:episode_count;type:bigint;comment:''''剧集总数量'''';not null;default:0;" json:"episode_count"` // ''''剧集总数量''''
	Duration     int            `gorm:"column:duration;type:bigint;comment:''''时长'''';not null;default:0;" json:"duration"`              // ''''时长''''
	PlayCount    int            `gorm:"column:play_count;type:bigint;comment:''''播放量'''';not null;default:0;" json:"play_count"`         // ''''播放量''''
	Collect      int            `gorm:"column:collect;type:bigint;comment:''''收藏'''';not null;default:0;" json:"collect"`                // ''''收藏''''
}

func (e *Episodes) TableName() string {
	return "episodes"
}
func (e *Episodes) EpisodesViewID(db *gorm.DB, id int) error {
	return db.Where("id = ?", id).Limit(1).Find(&e).Error
}
